package com.neouton.crm.managerPayRecord.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.common.util.PageUtil;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.managerPayRecord.entity.ManagerPayRecord;
import com.neouton.crm.managerPayRequest.entity.ManagerPayRequest;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface ManagerPayRecordService {
    PageUtil<ManagerPayRecord> queryManagerPaymentRecordsList(IPage<ManagerPayRecord> page, ManagerPayRecord managerPayRecord, List<SysUserEntity> userList, String token);

    List<ManagerPayRecord> queryManagerPayRecordedMoney(ManagerPayRecord entity);

    ManagerPayRecord saveManagePaymentRecord(ManagerPayRecord entity, String token);

    boolean approvedManagerPayRecord(ManagerPayRecord entity, String token, boolean auto);

    boolean rejectionManagerPayRecord(ManagerPayRecord entity, String token);

    ManagerPayRecord queryManagerPayRecordHistory(Integer approvalId);

    List<ManagerPayRecord> queryPaymentRecordsListInfo(ManagerPayRecord entity, List<SysUserEntity> userList, String token);

    void exportPaymentRecordsInfo(HttpServletResponse response, List<ManagerPayRecord> list, String token) throws Exception;

    PageUtil<ManagerPayRecord> queryManagerPaymentRecordsApprovalList(IPage<ManagerPayRecord> page, ManagerPayRecord managerPayRecord, String token);

    Boolean deletePayRecordsById(Integer payRecordsId);
}
